Although artificial intelligence (AI) has attracted attention recently, it is necessary to perform learning using a large number of data and calculation processing using a learning result, so that the processing amount is enormous. In particular, it is necessary to perform calculation using weights of signal processing paths or signal processing multiple times in a process of AI learning and utilizing learning results. In addition, it is also necessary to perform product-sum calculation multiple times in a neural network or the like, and there is a demand for hardware that performs calculation of multiple weights and the product-sum calculation with high speed and low power consumption.
A memory that can be accessed at high speed with low power consumption is required in order to perform the calculation of multiple weights, the product-sum calculation, and the like with high speed and low power consumption. A magnetoresistive random access memory (MRAM) has attracted attention as a candidate of this type of memory. The MRAM is a memory that can simultaneously satisfy three characteristics of a high rewrite resistance, operation performance of performing read and write at high speed, and a small cell area that enables high integration. In particular, a write current and a write delay are extremely small so that a high-speed operation is possible in a system that uses spin injection of a vertical magnetic field, called a spin transfer torque MRAM (STT-MRAM) using a magnetoresistive tunnel junction (MTJ) element, among MRAMs, and thus, a wide range of applications thereof are expected.